<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE topic
  PUBLIC "-//OASIS//DTD DITA Composite//EN" "ditabase.dtd">
<topic id="topic1">
    <title id="ke20941">gpload</title>
    <body>
        <p>Runs a load job as defined in a YAML formatted control file.</p>
        <section id="section2">
            <title>Synopsis</title>
            <codeblock>gpload -f &lt;control_file> [-l &lt;log_file>] [-h &lt;hostname>] [-p &lt;port>] 
   [-U &lt;username>] [-d &lt;database>] [-W] [--gpfdist_timeout &lt;seconds>] 
   [--no_auto_trans] [--max_retries &lt;retry_times>] [[-v | -V] [-q]] [-D]

gpload -? 

gpload --version</codeblock>
        </section>
        <section id="section3">
            <title id="ke141293">Requirements</title>
            <p>The client machine where <codeph>gpload</codeph> is run must have the
                following:</p>
            <ul>
                <li id="ke147925">The <xref href="gpfdist.xml#topic1" type="topic" format="dita"/>
                    parallel file distribution program installed and in your <codeph>$PATH</codeph>.
                    This program is located in <codeph>$GPHOME/bin</codeph> of your Greenplum
                    Database server installation.</li>
                <li id="ke144650">Network access to and from all hosts in your Greenplum Database
                    array (master and segments).</li>
                <li id="ke145550">Network access to and from the hosts where the data to be loaded
                    resides (ETL servers).</li>
            </ul>
        </section>
        <section id="section4">
            <title>Description</title>
            <p><codeph>gpload</codeph> is a data loading utility that acts as an interface to the
                Greenplum Database external table parallel loading feature. Using a load
                specification defined in a YAML formatted control file, <codeph>gpload</codeph> runs
                a load by invoking the Greenplum Database parallel file server (<xref
                    href="gpfdist.xml" type="topic" format="dita"/>), creating an external table
                definition based on the source data defined, and running an <codeph>INSERT</codeph>,
                    <codeph>UPDATE</codeph> or <codeph>MERGE</codeph> operation to load the source
                data into the target table in the database. <note><codeph>gpfdist</codeph> is
                    compatible only with the Greenplum Database major version in which it is
                    shipped. For example, a <codeph>gpfdist</codeph> utility that is installed with
                    Greenplum Database 4.x cannot be used with Greenplum Database 5.x or 6.x.</note>
                <note>The Greenplum Database 5.22 and later <codeph>gpload</codeph> for Linux is
                    compatible with Greenplum Database 6.x. The Greenplum Database 6.x
                        <codeph>gpload</codeph> for both Linux and Windows is compatible with
                    Greenplum 5.x.</note>
                <note id="gpload-limitation"><codeph>MERGE</codeph> and <codeph>UPDATE</codeph>
                    operations are not supported if the target table column name is a reserved
                    keyword, has capital letters, or includes any character that requires quotes ("
                    ") to identify the column.</note></p>
            <p>The operation, including any SQL commands specified in the <codeph>SQL</codeph>
                collection of the YAML control file (see <xref href="#topic1/section7"
                    type="section" format="dita"/>), are performed as a single transaction to
                prevent inconsistent data when performing multiple, simultaneous load operations on
                a target table. </p>
        </section>
        <section id="section5">
            <title>Options</title>
            <parml>
                <plentry>
                    <pt>-f <varname>control_file</varname></pt>
                    <pd><b>Required. </b>A YAML file that contains the load specification details.
                        See <xref href="#topic1/section7" type="section" format="dita"/>.</pd>
                </plentry>
                <plentry>
                    <pt>--gpfdist_timeout <varname>seconds</varname></pt>
                    <pd>Sets the timeout for the <codeph>gpfdist</codeph> parallel file distribution
                        program to send a response. Enter a value from <codeph>0</codeph> to
                            <codeph>30</codeph> seconds (entering "<codeph>0</codeph>" to disables
                        timeouts). Note that you might need to increase this value when operating on
                        high-traffic networks.</pd>
                </plentry>
                <plentry>
                    <pt>-l <varname>log_file</varname></pt>
                    <pd>Specifies where to write the log file. Defaults to
                                <codeph>~/gpAdminLogs/gpload_<varname>YYYYMMDD</varname></codeph>.
                        For more information about the log file, see <xref href="#topic1/section9"
                            type="section" format="dita"/>.</pd>
                </plentry>
                <plentry>
                    <pt>--no_auto_trans</pt>
                    <pd>Specify <codeph>--no_auto_trans</codeph> to disable processing the load
                        operation as a single transaction if you are performing a single load
                        operation on the target table.</pd>
                    <pd>By default, <codeph>gpload</codeph> processes each load operation as a
                        single transaction to prevent inconsistent data when performing multiple,
                        simultaneous operations on a target table. </pd>
                </plentry>
                <plentry>
                    <pt>-q (no screen output)</pt>
                    <pd>Run in quiet mode. Command output is not displayed on the screen, but is
                        still written to the log file.</pd>
                </plentry>
                <plentry>
                    <pt>-D (debug mode)</pt>
                    <pd>Check for error conditions, but do not run the load. </pd>
                </plentry>
                <plentry>
                    <pt>-v (verbose mode)</pt>
                    <pd>Show verbose output of the load steps as they are run.</pd>
                </plentry>
                <plentry>
                    <pt>-V (very verbose mode)</pt>
                    <pd>Shows very verbose output.</pd>
                </plentry>
                <plentry>
                    <pt>-? (show help)</pt>
                    <pd>Show help, then exit.</pd>
                </plentry>
                <plentry>
                    <pt>--version</pt>
                    <pd>Show the version of this utility, then exit.</pd>
                </plentry>
            </parml>
            <sectiondiv id="section6">
                <b>Connection Options</b>
                <parml>
                    <plentry>
                        <pt>-d <varname>database</varname></pt>
                        <pd>The database to load into. If not specified, reads from the load control
                            file, the environment variable <codeph>$PGDATABASE</codeph> or defaults
                            to the current system user name.</pd>
                    </plentry>
                    <plentry>
                        <pt>-h <varname>hostname</varname></pt>
                        <pd>Specifies the host name of the machine on which the Greenplum Database
                            master database server is running. If not specified, reads from the load
                            control file, the environment variable <codeph>$PGHOST</codeph> or
                            defaults to <codeph>localhost</codeph>.</pd>
                    </plentry>
                    <plentry>
                        <pt>-p <varname>port</varname></pt>
                        <pd>Specifies the TCP port on which the Greenplum Database master database
                            server is listening for connections. If not specified, reads from the
                            load control file, the environment variable <codeph>$PGPORT</codeph> or
                            defaults to 5432.</pd>
                    </plentry>
                    <plentry>
                        <pt>--max_retries <varname>retry_times</varname></pt>
                        <pd>
                            <p>Specifies the maximum number of times <codeph>gpload</codeph>
                                attempts to connect to Greenplum Database after a connection
                                timeout. The default value is <codeph>0</codeph>, do not attempt to
                                connect after a connection timeout. A negative integer, such as
                                    <codeph>-1</codeph>, specifies an unlimited number of
                                attempts.</p>
                        </pd>
                    </plentry>
                    <plentry>
                        <pt>-U <varname>username</varname></pt>
                        <pd>The database role name to connect as. If not specified, reads from the
                            load control file, the environment variable <codeph>$PGUSER</codeph> or
                            defaults to the current system user name.</pd>
                    </plentry>
                    <plentry>
                        <pt>-W (force password prompt)</pt>
                        <pd>Force a password prompt. If not specified, reads the password from the
                            environment variable <codeph>$PGPASSWORD</codeph> or from a password
                            file specified by <codeph>$PGPASSFILE</codeph> or in
                                <codeph>~/.pgpass</codeph>. If these are not set, then
                                <codeph>gpload</codeph> will prompt for a password even if
                                <codeph>-W</codeph> is not supplied.</pd>
                    </plentry>
                </parml>
            </sectiondiv>
        </section>
        <section id="section7">
            <title id="ke142495">Control File Format</title>
            <p>The <codeph>gpload</codeph> control file uses the <xref
                    href="http://yaml.org/spec/1.1/" scope="external" format="html">YAML 1.1</xref>
                document format and then implements its own schema for defining the various steps of
                a Greenplum Database load operation. The control file must be a valid YAML
                document.</p>
            <p>The <codeph>gpload</codeph> program processes the control file document in order and
                uses indentation (spaces) to determine the document hierarchy and the relationships
                of the sections to one another. The use of white space is significant. White space
                should not be used simply for formatting purposes, and tabs should not be used at
                all.</p>
            <p>The basic structure of a load control file is:</p>
            <codeblock>---
<xref href="#topic1/cfversion" format="dita">VERSION</xref>: 1.0.0.1
<xref href="#topic1/cfdatabase" format="dita">DATABASE</xref>: &lt;db_name>
<xref href="#topic1/cfuser" format="dita">USER</xref>: &lt;db_username>
<xref href="#topic1/cfhost" format="dita">HOST</xref>: &lt;master_hostname>
<xref href="#topic1/cfport" format="dita">PORT</xref>: &lt;master_port>
<xref href="#topic1/cfgpload" format="dita">GPLOAD</xref>:
   <xref href="#topic1/cfinput" format="dita">INPUT</xref>:
    - <xref href="#topic1/cfsource" format="dita">SOURCE</xref>:
         <xref href="#topic1/cfsourcelocalname" format="dita">LOCAL_HOSTNAME</xref>:
           - &lt;hostname_or_ip>
         <xref href="#topic1/cfsourceport" format="dita">PORT</xref>: &lt;http_port>
       | <xref href="#topic1/cfversion" format="dita">PORT_RANGE</xref>: [&lt;start_port_range>, &lt;end_port_range>]
         <xref href="#topic1/cfsourcefile" format="dita">FILE</xref>: 
           - &lt;/path/to/input_file>
         <xref href="#topic1/cfsourcessl" format="dita">SSL</xref>: true | false
         <xref href="#topic1/cfsourcecertificatespath" format="dita">CERTIFICATES_PATH</xref>: &lt;/path/to/certificates>
    - <xref href="#topic1/fqdn" format="dita">FULLY_QUALIFIED_DOMAIN_NAME</xref>: true | false
    - <xref href="#topic1/cfcolumns" format="dita">COLUMNS</xref>:
           - &lt;field_name>: &lt;data_type>
    - <xref href="#topic1/cftransform" format="dita">TRANSFORM</xref>: '&lt;transformation>'
    - <xref href="#topic1/cftransformconfig" format="dita">TRANSFORM_CONFIG</xref>: '&lt;configuration-file-path>' 
    - <xref href="#topic1/cfmaxlinelength" format="dita">MAX_LINE_LENGTH</xref>: &lt;integer> 
    - <xref href="#topic1/cfformat" format="dita">FORMAT</xref>: text | csv
    - <xref href="#topic1/cfdelimiter" format="dita">DELIMITER</xref>: '&lt;delimiter_character>'
    - <xref href="#topic1/cfescape" format="dita">ESCAPE</xref>: '&lt;escape_character>' | 'OFF'
    - <xref href="#topic1/newline" format="dita">NEWLINE</xref>: 'LF' | 'CR' | 'CRLF'
    - <xref href="#topic1/cfnullas" format="dita">NULL_AS</xref>: '&lt;null_string>'
    - <xref href="#topic1/cfillfields" format="dita">FILL_MISSING_FIELDS</xref>: true | false
    - <xref href="#topic1/cfforcenotnull" format="dita">FORCE_NOT_NULL</xref>: true | false
    - <xref href="#topic1/cfquote" format="dita">QUOTE</xref>: '&lt;csv_quote_character>'
    - <xref href="#topic1/cfheader" format="dita">HEADER</xref>: true | false
    - <xref href="#topic1/cfencoding" format="dita">ENCODING</xref>: &lt;database_encoding>
    - <xref href="#topic1/cferrorlimit" format="dita">ERROR_LIMIT</xref>: &lt;integer>
    - <xref href="#topic1/cferrorlog" format="dita">LOG_ERRORS</xref>: true | false
   <xref href="#topic1/cfexternal" format="dita">EXTERNAL</xref>:
      - <xref href="#topic1/cfschema" format="dita">SCHEMA</xref>: &lt;schema> | '%'
   <xref href="#topic1/cfoutput" format="dita">OUTPUT</xref>:
    - <xref href="#topic1/cftable" format="dita">TABLE</xref>: &lt;schema.table_name>
    - <xref href="#topic1/cfmode" format="dita">MODE</xref>: insert | update | merge
    - <xref href="#topic1/cfmatchcolumns" format="dita">MATCH_COLUMNS</xref>:
           - &lt;target_column_name>
    - <xref href="#topic1/cfupdatecolumns" format="dita">UPDATE_COLUMNS</xref>:
           - &lt;target_column_name>
    - <xref href="#topic1/cfupdatecondition" format="dita">UPDATE_CONDITION</xref>: '&lt;boolean_condition>'
    - <xref href="#topic1/cfmapping" format="dita">MAPPING</xref>:
              &lt;target_column_name>: &lt;source_column_name> | '&lt;expression>'
   <xref href="#topic1/cfpreload" format="dita">PRELOAD</xref>:
    - <xref href="#topic1/cftruncate" format="dita">TRUNCATE</xref>: true | false
    - <xref href="#topic1/cfreusetables" format="dita">REUSE_TABLES</xref>: true | false
    - <xref href="#topic1/cfstagetbl" format="dita">STAGING_TABLE</xref>: &lt;external_table_name>
    - <xref href="#topic1/cffastmatch" format="dita">FAST_MATCH</xref>: true | false
   <xref href="#topic1/cfsql" format="dita">SQL</xref>:
    - <xref href="#topic1/cfbefore" format="dita">BEFORE</xref>: "&lt;sql_command>"
    - <xref href="#topic1/cfafter" format="dita">AFTER</xref>: "&lt;sql_command>"</codeblock>
            <parml>
                <plentry>
                    <pt id="cfversion">VERSION</pt>
                    <pd>Optional. The version of the <codeph>gpload</codeph> control file schema.
                        The current version is 1.0.0.1. </pd>
                </plentry>
                <plentry>
                    <pt id="cfdatabase">DATABASE</pt>
                    <pd>Optional. Specifies which database in the Greenplum Database system to
                        connect to. If not specified, defaults to <codeph>$PGDATABASE</codeph> if
                        set or the current system user name. You can also specify the database on
                        the command line using the <codeph>-d</codeph> option. </pd>
                </plentry>
                <plentry>
                    <pt id="cfuser">USER</pt>
                    <pd>Optional. Specifies which database role to use to connect. If not specified,
                        defaults to the current user or <codeph>$PGUSER</codeph> if set. You can
                        also specify the database role on the command line using the
                            <codeph>-U</codeph> option. </pd>
                    <pd>If the user running <codeph>gpload</codeph> is not a Greenplum Database
                        superuser, then the appropriate rights must be granted to the user for the
                        load to be processed. See the <cite>Greenplum Database Reference
                            Guide</cite> for more information.</pd>
                </plentry>
                <plentry>
                    <pt id="cfhost">HOST</pt>
                    <pd>Optional. Specifies Greenplum Database master host name. If not specified,
                        defaults to localhost or <codeph>$PGHOST</codeph> if set. You can also
                        specify the master host name on the command line using the
                            <codeph>-h</codeph> option.</pd>
                </plentry>
                <plentry>
                    <pt id="cfport">PORT</pt>
                    <pd>Optional. Specifies Greenplum Database master port. If not specified,
                        defaults to 5432 or <codeph>$PGPORT</codeph> if set. You can also specify
                        the master port on the command line using the <codeph>-p</codeph>
                        option.</pd>
                </plentry>
                <plentry>
                    <pt id="cfgpload">GPLOAD</pt>
                    <pd>Required. Begins the load specification section. A <codeph>GPLOAD</codeph>
                        specification must have an <codeph>INPUT</codeph> and an
                            <codeph>OUTPUT</codeph> section defined. <parml>
                            <plentry>
                                <pt id="cfinput">INPUT</pt>
                                <pd>Required. Defines the location and the format of the input data
                                    to be loaded. <codeph>gpload</codeph> will start one or more
                                    instances of the <xref href="gpfdist.xml#topic1" type="topic"
                                        format="dita"/> file distribution program on the current
                                    host and create the required external table definition(s) in
                                    Greenplum Database that point to the source data. Note that the
                                    host from which you run <codeph>gpload</codeph> must be
                                    accessible over the network by all Greenplum Database hosts
                                    (master and segments).<parml>
                                        <plentry>
                                            <pt id="cfsource">SOURCE</pt>
                                            <pd>Required. The <codeph>SOURCE</codeph> block of an
                                                  <codeph>INPUT</codeph> specification defines the
                                                location of a source file. An <codeph>INPUT</codeph>
                                                section can have more than one
                                                  <codeph>SOURCE</codeph> block defined. Each
                                                  <codeph>SOURCE</codeph> block defined corresponds
                                                to one instance of the <xref
                                                  href="gpfdist.xml#topic1" type="topic"
                                                  format="dita"/> file distribution program that
                                                will be started on the local machine. Each
                                                  <codeph>SOURCE</codeph> block defined must have a
                                                  <codeph>FILE</codeph> specification. <p>For more
                                                  information about using the
                                                  <codeph>gpfdist</codeph> parallel file server and
                                                  single and multiple <codeph>gpfdist</codeph>
                                                  instances, see <xref
                                                  href="../../admin_guide/load/topics/g-loading-and-unloading-data.html"
                                                  format="html" scope="external">Loading and
                                                  Unloading Data</xref>.</p><parml>
                                                  <plentry>
                                                  <pt id="cfsourcelocalname">LOCAL_HOSTNAME</pt>
                                                  <pd>Optional. Specifies the host name or IP
                                                  address of the local machine on which
                                                  <codeph>gpload</codeph> is running. If this
                                                  machine is configured with multiple network
                                                  interface cards (NICs), you can specify the host
                                                  name or IP of each individual NIC to allow network
                                                  traffic to use all NICs simultaneously. The
                                                  default is to use the local machine's primary host
                                                  name or IP only. </pd>
                                                  </plentry>
                                                  <plentry>
                                                  <pt id="cfsourceport">PORT</pt>
                                                  <pd>Optional. Specifies the specific port number
                                                  that the <xref href="gpfdist.xml#topic1"
                                                  type="topic" format="dita"/> file distribution
                                                  program should use. You can also supply a
                                                  <codeph>PORT_RANGE</codeph> to select an available
                                                  port from the specified range. If both
                                                  <codeph>PORT</codeph> and
                                                  <codeph>PORT_RANGE</codeph> are defined, then
                                                  <codeph>PORT</codeph> takes precedence. If neither
                                                  <codeph>PORT</codeph> or
                                                  <codeph>PORT_RANGE</codeph> are defined, the
                                                  default is to select an available port between
                                                  8000 and 9000. <p>If multiple host names are
                                                  declared in <codeph>LOCAL_HOSTNAME</codeph>, this
                                                  port number is used for all hosts. This
                                                  configuration is desired if you want to use all
                                                  NICs to load the same file or set of files in a
                                                  given directory location.</p></pd>
                                                  </plentry>
                                                  <plentry>
                                                  <pt id="cfsourceportrange">PORT_RANGE</pt>
                                                  <pd>Optional. Can be used instead of
                                                  <codeph>PORT</codeph> to supply a range of port
                                                  numbers from which <codeph>gpload</codeph> can
                                                  choose an available port for this instance of the
                                                  <xref href="gpfdist.xml#topic1" type="topic"
                                                  format="dita"/> file distribution program.</pd>
                                                  </plentry>
                                                  <plentry>
                                                  <pt id="cfsourcefile">FILE</pt>
                                                  <pd>Required. Specifies the location of a file,
                                                  named pipe, or directory location on the local
                                                  file system that contains data to be loaded. You
                                                  can declare more than one file so long as the data
                                                  is of the same format in all files specified.
                                                  <p>If the files are compressed using
                                                  <codeph>gzip</codeph> or <codeph>bzip2</codeph>
                                                  (have a <codeph>.gz</codeph> or
                                                  <codeph>.bz2</codeph> file extension), the files
                                                  will be uncompressed automatically (provided that
                                                  <codeph>gunzip</codeph> or
                                                  <codeph>bunzip2</codeph> is in your
                                                  path).</p><p>When specifying which source files to
                                                  load, you can use the wildcard character
                                                  (<codeph>*</codeph>) or other C-style pattern
                                                  matching to denote multiple files. The files
                                                  specified are assumed to be relative to the
                                                  current directory from which
                                                  <codeph>gpload</codeph> is run (or you can declare
                                                  an absolute path).</p></pd>
                                                  </plentry>
                                                  <plentry>
                                                  <pt id="cfsourcessl">SSL</pt>
                                                  <pd>Optional. Specifies usage of SSL encryption.
                                                  If <codeph>SSL</codeph> is set to true,
                                                  <codeph>gpload</codeph> starts the
                                                  <codeph>gpfdist</codeph> server with the
                                                  <codeph>--ssl</codeph> option and uses the
                                                  <codeph>gpfdists://</codeph> protocol.</pd>
                                                  </plentry>
                                                  <plentry>
                                                  <pt id="cfsourcecertificatespath"
                                                  >CERTIFICATES_PATH</pt>
                                                  <pd>Required when SSL is <codeph>true</codeph>;
                                                  cannot be specified when SSL is
                                                  <codeph>false</codeph> or unspecified. The
                                                  location specified in
                                                  <codeph>CERTIFICATES_PATH</codeph> must contain
                                                  the following files: <ul id="ul_azs_eau_mo">
                                                  <li id="ke148142">The server certificate file,
                                                  <codeph>server.crt</codeph></li>
                                                  <li id="ke148143">The server private key file,
                                                  <codeph>server.key</codeph></li>
                                                  <li id="ke148144">The trusted certificate
                                                  authorities, <codeph>root.crt</codeph></li>
                                                  </ul><p>The root directory (<codeph>/</codeph>)
                                                  cannot be specified as
                                                  <codeph>CERTIFICATES_PATH</codeph>.</p></pd>
                                                  </plentry>
                                                </parml></pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="fqdn">FULLY_QUALIFIED_DOMAIN_NAME</pt>
                                            <pd>Optional. Specifies whether <codeph>gpload</codeph>
                                                resolve hostnames to the fully qualified domain name
                                                (FQDN) or the local hostname. If the value is set to
                                                  <codeph>true</codeph>, names are resolved to the
                                                FQDN. If the value is set to <codeph>false</codeph>,
                                                resolution is to the local hostname. The default is
                                                  <codeph>false</codeph>.<p>A fully qualified domain
                                                  name might be required in some situations. For
                                                  example, if the Greenplum Database system is in a
                                                  different domain than an ETL application that is
                                                  being accessed by
                                                <codeph>gpload</codeph>.</p></pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cfcolumns">COLUMNS</pt>
                                            <pd>Optional. Specifies the schema of the source data
                                                file(s) in the format of
                                                  <codeph><varname>field_name</varname>:<varname>data_type</varname></codeph>.
                                                The <codeph>DELIMITER</codeph> character in the
                                                source file is what separates two data value fields
                                                (columns). A row is determined by a line feed
                                                character (<codeph>0x0a</codeph>). <p>If the input
                                                  <codeph>COLUMNS</codeph> are not specified, then
                                                  the schema of the output <codeph>TABLE</codeph> is
                                                  implied, meaning that the source data must have
                                                  the same column order, number of columns, and data
                                                  format as the target table.</p><p>The default
                                                  source-to-target mapping is based on a match of
                                                  column names as defined in this section and the
                                                  column names in the target <codeph>TABLE</codeph>.
                                                  This default mapping can be overridden using the
                                                  <codeph>MAPPING</codeph> section.</p></pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cftransform">TRANSFORM</pt>
                                            <pd>Optional. Specifies the name of the input
                                                transformation passed to <codeph>gpload</codeph>.
                                                For information about XML transformations, see
                                                "Loading and Unloading Data" in the <cite>Greenplum
                                                  Database Administrator Guide</cite>.</pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cftransformconfig">TRANSFORM_CONFIG</pt>
                                            <pd>Required when <codeph>TRANSFORM</codeph> is
                                                specified. Specifies the location of the
                                                transformation configuration file that is specified
                                                in the <codeph>TRANSFORM</codeph> parameter,
                                                above.</pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cfmaxlinelength">MAX_LINE_LENGTH</pt>
                                            <pd>Optional. An integer that specifies the maximum
                                                length of a line in the XML transformation data
                                                passed to <codeph>gpload</codeph>.</pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cfformat">FORMAT</pt>
                                            <pd>Optional. Specifies the format of the source data
                                                file(s) - either plain text (<codeph>TEXT</codeph>)
                                                or comma separated values (<codeph>CSV</codeph>)
                                                format. Defaults to <codeph>TEXT</codeph> if not
                                                specified. For more information about the format of
                                                the source data, see <xref
                                                  href="../../admin_guide/load/topics/g-loading-and-unloading-data.html"
                                                  format="html" scope="external">Loading and
                                                  Unloading Data</xref>.</pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cfdelimiter">DELIMITER</pt>
                                            <pd>Optional. Specifies a single ASCII character that
                                                separates columns within each row (line) of data.
                                                The default is a tab character in TEXT mode, a comma
                                                in CSV mode. You can also specify a non- printable
                                                ASCII character or a non-printable unicode
                                                character, for example: <codeph>"\x1B"</codeph> or
                                                  <codeph> "\u001B"</codeph>. The escape string
                                                syntax, <codeph>E'&lt;character-code>'</codeph>, is
                                                also supported for non-printable characters. The
                                                ASCII or unicode character must be enclosed in
                                                single quotes. For example: <codeph>E'\x1B'</codeph>
                                                or <codeph>E'\u001B'</codeph>. </pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cfescape">ESCAPE</pt>
                                            <pd>Specifies the single character that is used for C
                                                escape sequences (such as <codeph>\n</codeph>,
                                                  <codeph>\t</codeph>, <codeph>\100</codeph>, and so
                                                on) and for escaping data characters that might
                                                otherwise be taken as row or column delimiters. Make
                                                sure to choose an escape character that is not used
                                                anywhere in your actual column data. The default
                                                escape character is a \ (backslash) for
                                                text-formatted files and a <codeph>"</codeph>
                                                (double quote) for csv-formatted files, however it
                                                is possible to specify another character to
                                                represent an escape. It is also possible to disable
                                                escaping in text-formatted files by specifying the
                                                value <codeph>'OFF'</codeph> as the escape value.
                                                This is very useful for data such as text-formatted
                                                web log data that has many embedded backslashes that
                                                are not intended to be escapes.</pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="newline">NEWLINE</pt>
                                            <pd>Specifies the type of newline used in your data
                                                files, one of: <ul>
                                                  <li>LF (Line feed, 0x0A)</li>
                                                  <li>CR (Carriage return, 0x0D)</li>
                                                  <li>CRLF (Carriage return plus line feed, 0x0D
                                                  0x0A).</li>
                                                </ul>
                                                <p>If not specified, Greenplum Database detects the
                                                  newline type by examining the first row of data
                                                  that it receives, and uses the first newline type
                                                  that it encounters.</p>
                                            </pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cfnullas">NULL_AS</pt>
                                            <pd>Optional. Specifies the string that represents a
                                                null value. The default is <codeph>\N</codeph>
                                                (backslash-N) in <codeph>TEXT</codeph> mode, and an
                                                empty value with no quotations in
                                                  <codeph>CSV</codeph> mode. You might prefer an
                                                empty string even in <codeph>TEXT</codeph> mode for
                                                cases where you do not want to distinguish nulls
                                                from empty strings. Any source data item that
                                                matches this string will be considered a null
                                                value.</pd>
                                        </plentry>
                                        <plentry id="cfillfields">
                                            <pt>FILL_MISSING_FIELDS</pt>
                                            <pd>Optional. The default value is
                                                  <codeph>false</codeph>. When reading a row of data
                                                that has missing trailing field values (the row of
                                                data has missing data fields at the end of a line or
                                                row), Greenplum Database returns an error.</pd>
                                            <pd>If the value is <codeph>true</codeph>, when reading
                                                a row of data that has missing trailing field
                                                values, the values are set to <codeph>NULL</codeph>.
                                                Blank rows, fields with a <codeph>NOT NULL</codeph>
                                                constraint, and trailing delimiters on a line will
                                                still report an error.</pd>
                                            <pd>See the <codeph>FILL MISSING FIELDS</codeph> clause
                                                of the <xref
                                                  href="../../ref_guide/sql_commands/CREATE_EXTERNAL_TABLE.xml"
                                                /> command.</pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cfforcenotnull">FORCE_NOT_NULL</pt>
                                            <pd>Optional. In CSV mode, processes each specified
                                                column as though it were quoted and hence not a NULL
                                                value. For the default null string in CSV mode
                                                (nothing between two delimiters), this causes
                                                missing values to be evaluated as zero-length
                                                strings.</pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cfquote">QUOTE</pt>
                                            <pd>Required when <codeph>FORMAT</codeph> is
                                                  <codeph>CSV</codeph>. Specifies the quotation
                                                character for <codeph>CSV</codeph> mode. The default
                                                is double-quote (<codeph>"</codeph>).</pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cfheader">HEADER</pt>
                                            <pd>Optional. Specifies that the first line in the data
                                                file(s) is a header row (contains the names of the
                                                columns) and should not be included as data to be
                                                loaded. If using multiple data source files, all
                                                files must have a header row. The default is to
                                                assume that the input files do not have a header
                                                row.</pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cfencoding">ENCODING</pt>
                                            <pd>Optional. Character set encoding of the source data.
                                                Specify a string constant (such as
                                                  <codeph>'SQL_ASCII'</codeph>), an integer encoding
                                                number, or <codeph>'DEFAULT'</codeph> to use the
                                                default client encoding. If not specified, the
                                                default client encoding is used. For information
                                                about supported character sets, see the
                                                  <cite>Greenplum Database Reference Guide</cite>.
                                                  <note>If you <i>change</i> the
                                                  <codeph>ENCODING</codeph> value in an existing
                                                  <codeph>gpload</codeph> control file, you must
                                                  manually drop any external tables that were
                                                  creating using the previous
                                                  <codeph>ENCODING</codeph> configuration.
                                                  <codeph>gpload</codeph> does not drop and recreate
                                                  external tables to use the new
                                                  <codeph>ENCODING</codeph> if
                                                  <codeph>REUSE_TABLES</codeph> is set to
                                                  <codeph>true</codeph>.</note></pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cferrorlimit">ERROR_LIMIT</pt>
                                            <pd>Optional. Enables single row error isolation mode
                                                for this load operation. When enabled, input rows
                                                that have format errors will be discarded provided
                                                that the error limit count is not reached on any
                                                Greenplum Database segment instance during input
                                                processing. If the error limit is not reached, all
                                                good rows will be loaded and any error rows will
                                                either be discarded or captured as part of error log
                                                information. The default is to cancel the load
                                                operation on the first error encountered. Note that
                                                single row error isolation only applies to data rows
                                                with format errors; for example, extra or missing
                                                attributes, attributes of a wrong data type, or
                                                invalid client encoding sequences. Constraint
                                                errors, such as primary key violations, will still
                                                cause the load operation to be cancelled if
                                                encountered. For information about handling load
                                                errors, see <xref
                                                  href="../../admin_guide/load/topics/g-loading-and-unloading-data.html"
                                                  format="html" scope="external">Loading and
                                                  Unloading Data</xref>.</pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cferrorlog">LOG_ERRORS</pt>
                                            <pd>Optional when <codeph>ERROR_LIMIT</codeph> is
                                                declared. Value is either <codeph>true</codeph> or
                                                  <codeph>false</codeph>. The default value is
                                                  <codeph>false</codeph>. If the value is
                                                  <codeph>true</codeph>, rows with formatting errors
                                                are logged internally when running in single row
                                                error isolation mode. You can examine formatting
                                                errors with the Greenplum Database built-in SQL
                                                function
                                                  <codeph>gp_read_error_log('&lt;table_name>')</codeph>.
                                                If formatting errors are detected when loading data,
                                                  <codeph>gpload</codeph> generates a warning
                                                message with the name of the table that contains the
                                                error information similar to this message.
                                                <codeblock>&lt;timestamp>|WARN|1 bad row, please use GPDB built-in function gp_read_error_log('<parmname>table-name</parmname>') 
   to access the detailed error row</codeblock></pd>
                                            <pd>If <codeph>LOG_ERRORS: true</codeph> is specified,
                                                  <codeph>REUSE_TABLES: true</codeph> must be
                                                specified to retain the formatting errors in
                                                Greenplum Database error logs. If
                                                  <codeph>REUSE_TABLES: true</codeph> is not
                                                specified, the error information is deleted after
                                                the <codeph>gpload</codeph> operation. Only summary
                                                information about formatting errors is returned. You
                                                can delete the formatting errors from the error logs
                                                with the Greenplum Database function
                                                  <codeph>gp_truncate_error_log()</codeph>.
                                                  <note>When <codeph>gpfdist</codeph> reads data and
                                                  encounters a data formatting error, the error
                                                  message includes a row number indicating the
                                                  location of the formatting error.
                                                  <codeph>gpfdist</codeph> attempts to capture the
                                                  row that contains the error. However,
                                                  <codeph>gpfdist</codeph> might not capture the
                                                  exact row for some formatting errors.</note></pd>
                                            <pd>For more information about handling load errors, see
                                                "Loading and Unloading Data" in the <cite>Greenplum
                                                  Database Administrator Guide</cite>. For
                                                information about the
                                                  <codeph>gp_read_error_log()</codeph> function, see
                                                the <xref
                                                  href="../../ref_guide/sql_commands/CREATE_EXTERNAL_TABLE.xml"
                                                /> command.</pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cfexternal">EXTERNAL</pt>
                                            <pd>Optional. Defines the schema of the external table
                                                database objects created by <codeph>gpload</codeph>. </pd>
                                            <pd>The default is to use the Greenplum Database
                                                  <codeph>search_path</codeph>. </pd>
                                            <pd>
                                                <parml>
                                                  <plentry>
                                                  <pt id="cfschema">SCHEMA</pt>
                                                  <pd>Required when <codeph>EXTERNAL</codeph> is
                                                  declared. The name of the schema of the external
                                                  table. If the schema does not exist, an error is
                                                  returned. </pd>
                                                  <pd>If <codeph>%</codeph> (percent character) is
                                                  specified, the schema of the table name specified
                                                  by <codeph>TABLE</codeph> in the
                                                  <codeph>OUTPUT</codeph> section is used. If the
                                                  table name does not specify a schema, the default
                                                  schema is used.</pd>
                                                  </plentry>
                                                </parml>
                                            </pd>
                                        </plentry>
                                    </parml></pd>
                            </plentry>
                            <plentry>
                                <pt id="cfoutput">OUTPUT</pt>
                                <pd>Required. Defines the target table and final data column values
                                    that are to be loaded into the database.<parml>
                                        <plentry>
                                            <pt id="cftable">TABLE</pt>
                                            <pd>Required. The name of the target table to load
                                                into.</pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cfmode">MODE</pt>
                                            <pd>Optional. Defaults to <codeph>INSERT</codeph> if not
                                                specified. There are three available load
                                                modes:</pd>
                                            <pd><option>INSERT</option> - Loads data into the target
                                                table using the following method:
                                                <codeblock>INSERT INTO &lt;target_table> SELECT * FROM &lt;input_data>;</codeblock></pd>
                                            <pd><option>UPDATE</option> - Updates the
                                                  <codeph>UPDATE_COLUMNS</codeph> of the target
                                                table where the rows have
                                                  <codeph>MATCH_COLUMNS</codeph> attribute values
                                                equal to those of the input data, and the optional
                                                  <codeph>UPDATE_CONDITION</codeph> is true.
                                                  <codeph>UPDATE</codeph> is not supported if the
                                                target table column name is a reserved keyword, has
                                                capital letters, or includes any character that
                                                requires quotes (" ") to identify the column.</pd>
                                            <pd><option>MERGE</option> - Inserts new rows and
                                                updates the <codeph>UPDATE_COLUMNS</codeph> of
                                                existing rows where <codeph>FOOBAR</codeph>
                                                attribute values are equal to those of the input
                                                data, and the optional
                                                  <codeph>MATCH_COLUMNS</codeph> is true. New rows
                                                are identified when the
                                                  <codeph>MATCH_COLUMNS</codeph> value in the source
                                                data does not have a corresponding value in the
                                                existing data of the target table. In those cases,
                                                the <b>entire row</b> from the source file is
                                                inserted, not only the <codeph>MATCH</codeph> and
                                                  <codeph>UPDATE</codeph> columns. If there are
                                                multiple new <codeph>MATCH_COLUMNS</codeph> values
                                                that are the same, only one new row for that value
                                                will be inserted. Use
                                                  <codeph>UPDATE_CONDITION</codeph> to filter out
                                                the rows to discard. <codeph>MERGE</codeph> is not
                                                supported if the target table column name is a
                                                reserved keyword, has capital letters, or includes
                                                any character that requires quotes (" ") to identify
                                                the column.</pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cfmatchcolumns">MATCH_COLUMNS</pt>
                                            <pd>Required if <codeph>MODE</codeph> is
                                                  <codeph>UPDATE</codeph> or <codeph>MERGE</codeph>.
                                                Specifies the column(s) to use as the join condition
                                                for the update. The attribute value in the specified
                                                target column(s) must be equal to that of the
                                                corresponding source data column(s) in order for the
                                                row to be updated in the target table.</pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cfupdatecolumns">UPDATE_COLUMNS</pt>
                                            <pd>Required if <codeph>MODE</codeph> is
                                                  <codeph>UPDATE</codeph> or <codeph>MERGE</codeph>.
                                                Specifies the column(s) to update for the rows that
                                                meet the <codeph>MATCH_COLUMNS</codeph> criteria and
                                                the optional <codeph>UPDATE_CONDITION</codeph>.
                                            </pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cfupdatecondition">UPDATE_CONDITION</pt>
                                            <pd>Optional. Specifies a Boolean condition (similar to
                                                what you would declare in a <codeph>WHERE</codeph>
                                                clause) that must be met in order for a row in the
                                                target table to be updated.</pd>
                                        </plentry>
                                        <plentry>
                                            <pt id="cfmapping">MAPPING</pt>
                                            <pd>Optional. If a mapping is specified, it overrides
                                                the default source-to-target column mapping. The
                                                default source-to-target mapping is based on a match
                                                of column names as defined in the source
                                                  <codeph>COLUMNS</codeph> section and the column
                                                names of the target <codeph>TABLE</codeph>. A
                                                mapping is specified as either:</pd>
                                            <pd><codeph>&lt;target_column_name>:
                                                  &lt;source_column_name></codeph></pd>
                                            <pd>or</pd>
                                            <pd><codeph>&lt;target_column_name>:
                                                  '&lt;expression>'</codeph></pd>
                                            <pd>Where &lt;expression> is any expression that you
                                                would specify in the <codeph>SELECT</codeph> list of
                                                a query, such as a constant value, a column
                                                reference, an operator invocation, a function call,
                                                and so on.</pd>
                                        </plentry>
                                    </parml></pd>
                            </plentry>
                        </parml></pd>
                </plentry>
                <plentry>
                    <pt id="cfpreload">PRELOAD</pt>
                    <pd>Optional. Specifies operations to run prior to the load operation. Right now
                        the only preload operation is <codeph>TRUNCATE</codeph>.<parml>
                            <plentry>
                                <pt id="cftruncate">TRUNCATE</pt>
                                <pd>Optional. If set to true, <codeph>gpload</codeph> will remove
                                    all rows in the target table prior to loading it. Default is
                                    false.</pd>
                            </plentry>
                            <plentry>
                                <pt id="cfreusetables">REUSE_TABLES</pt>
                                <pd>Optional. If set to true, <codeph>gpload</codeph> will not drop
                                    the external table objects and staging table objects it creates.
                                    These objects will be reused for future load operations that use
                                    the same load specifications. This improves performance of
                                    trickle loads (ongoing small loads to the same target
                                    table).</pd>
                                <pd>If <codeph>LOG_ERRORS: true</codeph> is specified,
                                        <codeph>REUSE_TABLES: true</codeph> must be specified to
                                    retain the formatting errors in Greenplum Database error logs.
                                    If <codeph>REUSE_TABLES: true</codeph> is not specified,
                                    formatting error information is deleted after the
                                        <codeph>gpload</codeph> operation.</pd>
                                <pd>If the &lt;external_table_name> exists, the utility uses the
                                    existing table. The utility returns an error if the table schema
                                    does not match the <codeph>OUTPUT</codeph> table schema.</pd>
                            </plentry>
                            <plentry>
                                <pt id="cfstagetbl">STAGING_TABLE</pt>
                                <pd>Optional. Specify the name of the temporary external table that
                                    is created during a <codeph>gpload</codeph> operation. The
                                    external table is used by <codeph>gpfdist</codeph>.
                                        <codeph>REUSE_TABLES: true</codeph> must also specified. If
                                        <codeph>REUSE_TABLES</codeph> is false or not specified,
                                        <codeph>STAGING_TABLE</codeph> is ignored. By default,
                                        <codeph>gpload</codeph> creates a temporary external table
                                    with a randomly generated name.</pd>
                                <pd>If <varname>external_table_name</varname> contains a period (.),
                                        <codeph>gpload</codeph> returns an error. If the table
                                    exists, the utility uses the table. The utility returns an error
                                    if the existing table schema does not match the
                                        <codeph>OUTPUT</codeph> table schema.</pd>
                                <pd>The utility uses the value of <xref href="#topic1/cfschema"
                                        format="dita">SCHEMA</xref> in the <codeph>EXTERNAL</codeph>
                                    section as the schema for &lt;external_table_name>. If the
                                        <codeph>SCHEMA</codeph> value is <codeph>%</codeph>, the
                                    schema for &lt;external_table_name> is the same as the schema of
                                    the target table, the schema of <xref href="#topic1/cftable"
                                        format="dita">TABLE</xref> in the <codeph>OUTPUT</codeph>
                                    section. </pd>
                                <pd>If <codeph>SCHEMA</codeph> is not set, the utility searches for
                                    the table (using the schemas in the database
                                        <codeph>search_path</codeph>). If the table is not found,
                                        <varname>external_table_name</varname> is created in the
                                    default <codeph>PUBLIC</codeph> schema. </pd>
                                <pd><codeph>gpload</codeph> creates the staging table using the
                                  distribution key(s) of the target table as the distribution key(s)
                                  for the staging table. If the target table was created
                                  <codeph>DISTRIBUTED RANDOMLY</codeph>, <codeph>gpload</codeph>
                                  uses <codeph>MATCH_COLUMNS</codeph> as the staging table's
                                  distribution key(s).</pd>
                            </plentry>
                            <plentry>
                                <pt id="cffastmatch">FAST_MATCH</pt>
                                <pd>Optional. If set to true, <codeph>gpload</codeph> only searches
                                    the database for matching external table objects when reusing
                                    external tables. The utility does not check the external table
                                    column names and column types in the catalog table
                                        <codeph>pg_attribute</codeph> to ensure that the table can
                                    be used for a <codeph>gpload</codeph> operation. Set the value
                                    to true to improve <codeph>gpload</codeph> performance when
                                    reusing external table objects and the database catalog table
                                        <codeph>pg_attribute</codeph> contains a large number of
                                    rows. The utility returns an error and quits if the column
                                    definitions are not compatible.</pd>
                                <pd>The default value is false, the utility checks the external
                                    table definition column names and column types. </pd>
                                <pd><codeph>REUSE_TABLES: true</codeph> must also specified. If
                                        <codeph>REUSE_TABLES</codeph> is false or not specified and
                                        <codeph>FAST_MATCH: true</codeph> is specified,
                                        <codeph>gpload</codeph> returns a warning message. </pd>
                            </plentry>
                        </parml></pd>
                </plentry>
                <plentry>
                    <pt id="cfsql">SQL</pt>
                    <pd>Optional. Defines SQL commands to run before and/or after the load
                        operation. You can specify multiple <codeph>BEFORE</codeph> and/or
                            <codeph>AFTER</codeph> commands. List commands in the order of desired execution.<parml>
                            <plentry>
                                <pt id="cfbefore">BEFORE</pt>
                                <pd>Optional. An SQL command to run before the load operation
                                    starts. Enclose commands in quotes.</pd>
                            </plentry>
                            <plentry>
                                <pt id="cfafter">AFTER</pt>
                                <pd>Optional. An SQL command to run after the load operation
                                    completes. Enclose commands in quotes.</pd>
                            </plentry>
                        </parml></pd>
                </plentry>
            </parml>
        </section>
        <section id="section9">
            <title id="ke146419">Log File Format</title>
            <p>Log files output by <codeph>gpload</codeph> have the following format:</p>
            <codeblock>&lt;timestamp>|&lt;level>|&lt;message></codeblock>
            <p>Where &lt;timestamp> takes the form: <codeph>YYYY-MM-DD HH:MM:SS</codeph>,
                    <varname>level</varname> is one of <codeph>DEBUG</codeph>, <codeph>LOG</codeph>,
                    <codeph>INFO</codeph>, <codeph>ERROR</codeph>, and <varname>message</varname> is
                a normal text message.</p>
            <p>Some <codeph>INFO</codeph> messages that may be of interest in the log files are
                (where <varname>#</varname> corresponds to the actual number of seconds, units of
                data, or failed rows):</p>
            <codeblock>INFO|running time: &lt;#.##> seconds
INFO|transferred &lt;#.#> kB of &lt;#.#> kB.
INFO|gpload succeeded
INFO|gpload succeeded with warnings
INFO|gpload failed
INFO|1 bad row
INFO|&lt;#> bad rows</codeblock>
        </section>
        <section id="section8">
            <title>Notes</title>
            <p>If your database object names were created using a double-quoted identifier
                (delimited identifier), you must specify the delimited name within single quotes in
                the <codeph>gpload</codeph> control file. For example, if you create a table as
                follows:</p>
            <codeblock>CREATE TABLE "MyTable" ("MyColumn" text);</codeblock>
            <p>Your YAML-formatted <codeph>gpload</codeph> control file would refer to the above
                table and column names as follows:</p>
            <codeblock>- COLUMNS:
   - '"MyColumn"': text
OUTPUT:
   - TABLE: public.'"MyTable"'</codeblock>
            <p>If the YAML control file contains the <codeph>ERROR_TABLE</codeph> element that was
                available in Greenplum Database 4.3.x, <codeph>gpload</codeph> logs a warning
                stating that <codeph>ERROR_TABLE</codeph> is not supported, and load errors are
                handled as if the <codeph>LOG_ERRORS</codeph> and <codeph>REUSE_TABLE</codeph>
                elements were set to <codeph>true</codeph>. Rows with formatting errors are logged
                internally when running in single row error isolation mode.</p>
        </section>
        <section id="section10">
            <title>Examples</title>
            <p>Run a load job as defined in <codeph>my_load.yml</codeph>:</p>
            <codeblock>gpload -f my_load.yml</codeblock>
            <p>Example load control file:</p>
            <codeblock>---
VERSION: 1.0.0.1
DATABASE: ops
USER: gpadmin
HOST: mdw-1
PORT: 5432
GPLOAD:
   INPUT:
    - SOURCE:
         LOCAL_HOSTNAME:
           - etl1-1
           - etl1-2
           - etl1-3
           - etl1-4
         PORT: 8081
         FILE: 
           - /var/load/data/*
    - COLUMNS:
           - name: text
           - amount: float4
           - category: text
           - descr: text
           - date: date
    - FORMAT: text
    - DELIMITER: '|'
    - ERROR_LIMIT: 25
    - LOG_ERRORS: true
   OUTPUT:
    - TABLE: payables.expenses
    - MODE: INSERT
   PRELOAD:
    - REUSE_TABLES: true 
   SQL:
   - BEFORE: "INSERT INTO audit VALUES('start', current_timestamp)"
   - AFTER: "INSERT INTO audit VALUES('end', current_timestamp)"</codeblock>
        </section>
        <section id="section11">
            <title>See Also</title>
            <p><xref href="gpfdist.xml#topic1" type="topic" format="dita"/>, <xref
                    href="../../ref_guide/sql_commands/CREATE_EXTERNAL_TABLE.xml"/></p>
        </section>
    </body>
</topic>
